package no.sachmuld.methodcombination.examples.annotation.clossimplestyle.foo;

import no.sachmuld.methodcombination.api.MethodCombinationSupport;
import no.sachmuld.methodcombination.api.annotation.*;

import java.util.List;

/**
 *
 */
@UsesMethodCombination(FooBehaviour.class)
public abstract class Foo extends MethodCombinationSupport<FooBehaviour> {

    @no.sachmuld.methodcombination.api.annotation.List
    public final List<String> list() {
        throw new MethodCombinationException();
    }

    @Append
    public final List<String> append() {
        throw new MethodCombinationException();
    }

    @Or
    public final boolean or() {
        throw new MethodCombinationException();
    }

    @And
    public final boolean and() {
       throw new MethodCombinationException();
    }

    @All
    public final void all() {
        throw new MethodCombinationException();
    }

    @Sum
    public final int sum() {
        throw new MethodCombinationException();
    }

    @Min
    public final int min() {
        throw new MethodCombinationException();
    }

    @Max
    public final int max() {
        throw new MethodCombinationException();
    }

}
